import axios from 'axios'
// import { ElLoading, ElMessage } from 'element-plus'

let baseURL = ''
if (import.meta.env.MODE === 'development') {
  baseURL = 'http://big-event-vue-api-t.itheima.net' // 开发模式
} else if (import.meta.env.MODE === 'production') {
  baseURL = 'http://big-event-vue-api-t.itheima.net' // 生产模式
} else {
  baseURL = 'http://192.168.1.1:8080' // 测试服务器地址
}

// 创建 axios 实例
const instance = axios.create({
  baseURL: baseURL,
  timeout: 5000,
})

// let loadingInstance: ReturnType<typeof ElLoading.service> | null = null

// 请求拦截器
instance.interceptors.request.use(
  (config) => {
    return config
  },
  (error) => {
    // 处理请求错误
    console.error('请求拦截器错误:', error)
    return Promise.reject(error)
  },
)

// 响应拦截器
instance.interceptors.response.use(
  (response) => {
    // 返回响应数据
    return response.data
  },
  (error) => {
    // 关闭 Loading 效果
    // if (loadingInstance) {
    //   loadingInstance.close()
    // }

    // 错误提示
    console.error('响应拦截器错误:', error)
    // ElMessage.error('请求失败，请稍后重试')

    // 抛出错误以便调用方捕获
    return Promise.reject(error)
  },
)

export default instance
